﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace LI4
{
    public partial class pesquisarCandidatoDistrito : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (distritoLB.Items.Count < 1)
            {
                localidadeLB.Items.Clear();
                ArrayList distritos = new ArrayList();
                Data.Distrito dist = new Data.Distrito();
                distritos = dist.getDistritos();

                foreach (Business.Distrito distrito in distritos)
                    distritoLB.Items.Add(distrito.Nome);

                Data.Localidade local = new Data.Localidade();


                foreach (Business.Distrito distrito in distritos)
                    localidadeLB.Items.Add(local.getLocalidadeDistrito(distrito.CodDistrito).Nome);
            }


        }

        protected void Button1_Click1(object sender, EventArgs e)
        {
            ListBox1.Items.Clear();

            

            Data.Candidato cand = new Data.Candidato();
            ArrayList candidatos = new ArrayList();
            Data.Localidade localidaded = new Data.Localidade();
            ArrayList localidades = new ArrayList();

            Business.Localidade localidade = new Business.Localidade();
            localidade = localidaded.getLocalidadeNome(localidadeLB.SelectedItem.Text);

            candidatos = cand.getCandidatosLocalidade(localidade.CodLocalidade);

            foreach (Business.Candidato candidato in candidatos)
                ListBox1.Items.Add(candidato.Nome);
        }

        protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            if (ListBox1.Items.Count < 1)
            {
                Response.Write("<script>alert('Pesquise um candidato')</script>");
            }
            else
            {
                if (ListBox1.SelectedItem == null)
                    Response.Write("<script>alert('Seleccione um candidato')</script>");
                else
                {
                    string nomeCand = ListBox1.SelectedItem.Text;

                    Data.Candidato cand = new Data.Candidato();
                    Business.Candidato candidato = new Business.Candidato(cand.getCandidatoNome(nomeCand));

                    candidatoTB.Text = candidato.Nome;
                    mailTB.Text = candidato.Mail;
                    telefoneTB.Text = candidato.Telefone.ToString();
                    Business.Localidade local = new Business.Localidade(candidato.Localidade);
                    Data.Distrito dist = new Data.Distrito();
                    Business.Distrito distrito = new Business.Distrito(dist.getDistrito(local.Distrito.CodDistrito));
                    localidadeTB.Text = local.Nome;
                    distritoTB.Text = distrito.Nome;
                    moradaTB.Text = candidato.Rua;
                    codigopostalTB.Text = candidato.CodPostal.Substring(0, 4);
                    codpostalTB2.Text = candidato.CodPostal.Substring(4, 3);
                }
            }
        }

        protected void distritoLB_SelectedIndexChanged(object sender, EventArgs e)
        {
            localidadeLB.Items.Clear();
            Data.Localidade local = new Data.Localidade();
            ArrayList localidades = new ArrayList();
            Data.Distrito distrito = new Data.Distrito();
            Business.Distrito dist = new Business.Distrito(distrito.getDistritoNome(distritoLB.SelectedItem.Text));

            localidades = local.getLocalidadesDistrito(dist.CodDistrito);

            foreach (Business.Localidade localidade in localidades)
                localidadeLB.Items.Add(localidade.Nome);
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            ListBox1.Items.Clear();



            Data.Candidato cand = new Data.Candidato();
            ArrayList candidatos = new ArrayList();
            Data.Localidade localidaded = new Data.Localidade();
            ArrayList localidades = new ArrayList();

            Business.Localidade localidade = new Business.Localidade();
            localidade = localidaded.getLocalidadeNome(localidadeLB.SelectedItem.Text);

            candidatos = cand.getCandidatosLocalidade(localidade.CodLocalidade);

            foreach (Business.Candidato candidato in candidatos)
                ListBox1.Items.Add(candidato.Nome);
        }

        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            string nomeCand = ListBox1.SelectedItem.Text;

            Data.Candidato cand = new Data.Candidato();
            Business.Candidato candidato = new Business.Candidato(cand.getCandidatoNome(nomeCand));

            Response.ContentType = "application/octet-stream";
            Response.AddHeader("Content-Disposition", "attachment; filename=" + candidato.Curriculum);
            Response.Flush();
            string path = "C:\\LI4-Emprego\\curriculums\\" + candidato.Curriculum;
            Response.WriteFile(path);
        }
    }
}
